import request from '@/utils/http'

/**
 * 获取帖子列表
 * @param params 查询参数
 * @returns Promise
 */
export const topicListApi = (params: any) => {
  return request.get(`/api/topic`, { params })
}

/**
 * 获取帖子详情
 * @param tid 帖子ID
 * @returns Promise
 */
export const topicDetailApi = (tid: string, action: string) => {
  return request.get(`/api/topic/${tid}?action=${action}`)
}

/**
 * 创建一个话题的API请求函数
 *
 * @param data 创建话题所需的数据
 * @returns 返回一个Promise对象，该对象解析为API请求的结果
 */
export const topicCreateApi = (data: any) => {
  return request.post(`/api/topic`, data)
}

/**
 * 删除帖子
 * @param tid 帖子ID
 * @returns Promise
 */
export const topicDeleteApi = (tid: string) => {
  return request.delete(`/api/topic/${tid}`)
}

/**
 * 更新帖子的API
 *
 * @param tid 帖子ID
 * @param data 要更新的数据
 * @returns 返回请求的结果
 */
export const topicUpdateApi = (tid: string, data: any) => {
  return request.put(`/api/topic/${tid}`, data)
}

/**
 * 操作帖子（置顶、加精、锁定）
 * @param tid 帖子ID
 * @param action 操作类型
 * @returns Promise
 */
export const topicActionApi = (tid: string, action: string) => {
  return request.post(`/api/topic/${tid}/action`, { action })
}